<html>
<head><meta charset="utf-8"><title>panic propagation docs update · project-error-handling · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/index.html">project-error-handling</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html">panic propagation docs update</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="219676014"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219676014" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219676014">(Dec 11 2020 at 23:49)</a>:</h4>
<p>I have a new issue that might be fun for anyone looking for quick PR to <code>rust-lang/rust</code>. <a href="https://github.com/rust-lang/rust/issues/79950">https://github.com/rust-lang/rust/issues/79950</a></p>



<a name="219676596"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219676596" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219676596">(Dec 11 2020 at 23:58)</a>:</h4>
<p>so something like this line added to <a href="https://doc.rust-lang.org/std/panic/fn.catch_unwind.html">https://doc.rust-lang.org/std/panic/fn.catch_unwind.html</a>: "This function is designed to be used in conjunction with <code>resume_unwind</code> to, for example, re-propagate a caught panic without use of <code>Result</code> as described below which should not be used for type erased panic payloads."</p>



<a name="219677004"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677004" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677004">(Dec 12 2020 at 00:05)</a>:</h4>
<p>yea</p>



<a name="219677007"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677007" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677007">(Dec 12 2020 at 00:05)</a>:</h4>
<p>I'd probably recommend using something like</p>



<a name="219677011"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677011" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677011">(Dec 12 2020 at 00:05)</a>:</h4>
<p><code>    let inner: () = result.unwrap_or_else(|payload| std::panic::resume_unwind(payload));</code></p>



<a name="219677031"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677031" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677031">(Dec 12 2020 at 00:05)</a>:</h4>
<p>and put this recommendation inside of both doc pages</p>



<a name="219677043"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677043" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677043">(Dec 12 2020 at 00:06)</a>:</h4>
<p>and maybe add an extra section to the <code>std::thread::Result</code> docs to warn about why <code>unwrap</code> is bad</p>



<a name="219677120"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677120" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677120">(Dec 12 2020 at 00:06)</a>:</h4>
<p>and there we can point out the differences between unwrap and resume_unwind</p>



<a name="219677128"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677128" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677128">(Dec 12 2020 at 00:06)</a>:</h4>
<p>and how one produces a new panic that has to double downcast</p>



<a name="219677149"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677149" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677149">(Dec 12 2020 at 00:06)</a>:</h4>
<p>alternatively</p>



<a name="219677151"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677151" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677151">(Dec 12 2020 at 00:07)</a>:</h4>
<p>or maybe additionally</p>



<a name="219677182"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677182" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677182">(Dec 12 2020 at 00:07)</a>:</h4>
<p>we might be able to update the default panic hook in <code>std</code> to handle the double downcast case</p>



<a name="219677194"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677194" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677194">(Dec 12 2020 at 00:07)</a>:</h4>
<p>but I think we will need <span class="user-mention" data-user-id="310399">@Mara</span> 's panic plan changes to make that work</p>



<a name="219677252"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677252" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677252">(Dec 12 2020 at 00:08)</a>:</h4>
<p>because rn I think <code>unwrap()</code> on a <code>Result&lt;T, Box&lt;dyn Any&gt;&gt;</code> will discard the box and convert it to a string when panicking, rather than reboxing it</p>



<a name="219677265"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677265" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677265">(Dec 12 2020 at 00:08)</a>:</h4>
<p>so we'd need to update <code>unwrap</code> to somehow try to preserve the payload</p>



<a name="219677302"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677302" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677302">(Dec 12 2020 at 00:09)</a>:</h4>
<p>the main advantage of unwrap is that it actually invokes the panic hook to re-report the panic</p>



<a name="219677316"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677316" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677316">(Dec 12 2020 at 00:09)</a>:</h4>
<p>which will give you an error message at the end of your binary's output</p>



<a name="219677323"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677323" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677323">(Dec 12 2020 at 00:09)</a>:</h4>
<p>rather than way back wherever it was originally caught</p>



<a name="219677332"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677332" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677332">(Dec 12 2020 at 00:09)</a>:</h4>
<p>but the disadvantage of this is that any backtraces in that second panic would be disconnected from the original panic</p>



<a name="219677358"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677358" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677358">(Dec 12 2020 at 00:10)</a>:</h4>
<p>so my preference would be to not recommend that approach, and to just tell ppl to scroll back to wherever the panic happened.</p>



<a name="219677427"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677427" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677427">(Dec 12 2020 at 00:10)</a>:</h4>
<p>However I'm quite worried about someone getting in a situation where they're catching many panics and its hard to correlate which panic actually brought down the system</p>



<a name="219677557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677557">(Dec 12 2020 at 00:12)</a>:</h4>
<p>I think that's just an inherent problem with wrappers for things which are<br>
normally meant to work like e-brakes</p>



<a name="219677581"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677581" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677581">(Dec 12 2020 at 00:12)</a>:</h4>
<p>yea</p>



<a name="219677603"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677603" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677603">(Dec 12 2020 at 00:13)</a>:</h4>
<p>but still, we're a systems programming language and people depend on it not really being an emergency break</p>



<a name="219677607"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677607" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677607">(Dec 12 2020 at 00:13)</a>:</h4>
<p>_frustration_</p>



<a name="219677645"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677645" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677645">(Dec 12 2020 at 00:14)</a>:</h4>
<p>part of me feels like theres a ton of issues with the design of panics in rust but I have no idea how I'd redo it in a way that satisfies the existing requirements</p>



<a name="219677700"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677700" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677700">(Dec 12 2020 at 00:14)</a>:</h4>
<p>and even if we could redo it we cant because back compat</p>



<a name="219677705"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677705" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677705">(Dec 12 2020 at 00:14)</a>:</h4>
<p>:/</p>



<a name="219677712"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677712" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677712">(Dec 12 2020 at 00:14)</a>:</h4>
<p>or at least we're heavily restricted</p>



<a name="219677715"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677715" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677715">(Dec 12 2020 at 00:14)</a>:</h4>
<p>sigh</p>



<a name="219677767"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219677767" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219677767">(Dec 12 2020 at 00:15)</a>:</h4>
<p>unless break compat as a edition release, unless some magic<br>
metadata capture comes along from another part of the lang</p>



<a name="219678002"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219678002" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219678002">(Dec 12 2020 at 00:19)</a>:</h4>
<p>it would be interesting to spec a redesigned panic system<br>
tho that's probably a lot of work and I don't know if there<br>
is room given the existing timelines for the next edition</p>



<a name="219678025"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219678025" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219678025">(Dec 12 2020 at 00:19)</a>:</h4>
<p>yea i dont think that should be a high priority</p>



<a name="219678034"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219678034" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219678034">(Dec 12 2020 at 00:19)</a>:</h4>
<p>feel free to spitball ideas tho</p>



<a name="219678127"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219678127" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219678127">(Dec 12 2020 at 00:20)</a>:</h4>
<p>I imagine something with better metadata capture during panic generation<br>
but nothing technical to point to where to start</p>



<a name="219679494"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219679494" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219679494">(Dec 12 2020 at 00:43)</a>:</h4>
<p>there's already some work here being done but I don't think it applies at this level</p>



<a name="219679542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219679542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219679542">(Dec 12 2020 at 00:44)</a>:</h4>
<p>yeah it's very interesting</p>



<a name="219679557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219679557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219679557">(Dec 12 2020 at 00:44)</a>:</h4>
<p><span class="user-mention" data-user-id="310399">@Mara</span> has been working on improving PanicInfo but that is what contains the payload</p>



<a name="219679560"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219679560" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219679560">(Dec 12 2020 at 00:44)</a>:</h4>
<p>rather than the payload itself</p>



<a name="219679582"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219679582" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219679582">(Dec 12 2020 at 00:45)</a>:</h4>
<p>and I imagine that if we add alternate versions of payloads we will still have to re-erase them when we pass them to <code>catch_unwind</code></p>



<a name="219679613"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219679613" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219679613">(Dec 12 2020 at 00:45)</a>:</h4>
<p>there might be some path to deprecation of that method where we can do a new catch_unwind that works on more rich type information rather than only being a Box&lt;Any&gt;</p>



<a name="219679674"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219679674" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219679674">(Dec 12 2020 at 00:46)</a>:</h4>
<p>like, introduce a <code>std::panic::Payload</code></p>



<a name="219679925"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219679925" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219679925">(Dec 12 2020 at 00:50)</a>:</h4>
<p>draft for first doc update: <a href="https://github.com/rust-lang/rust/compare/master...o752d:master">https://github.com/rust-lang/rust/compare/master...o752d:master</a></p>



<a name="219679981"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219679981" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219679981">(Dec 12 2020 at 00:51)</a>:</h4>
<p>I think the recommendation is already in the doc page of <code>resume_unwind</code></p>



<a name="219680178"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219680178" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219680178">(Dec 12 2020 at 00:55)</a>:</h4>
<p>I'm just not sure about adding new <code>Payload</code>s or improving what's<br>
already being generated, like there might be a lot of interactions<br>
involved in layering information like that, not certain just speculating</p>



<a name="219680434"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/panic%20propagation%20docs%20update/near/219680434" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oliver <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/panic.20propagation.20docs.20update.html#219680434">(Dec 12 2020 at 01:00)</a>:</h4>
<p>things like this just remind me conceptually of how degrees of freedom aggregate:<br>
<a href="/user_uploads/4715/QYACsgw5lW9Lpv244-plkSPx/image.png">image.png</a></p>
<div class="message_inline_image"><a href="/user_uploads/4715/QYACsgw5lW9Lpv244-plkSPx/image.png" title="image.png"><img src="/user_uploads/4715/QYACsgw5lW9Lpv244-plkSPx/image.png"></a></div>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>